// Success页面跳转工具类
// 确保正确传递签到/签退状态参数

/**
 * 跳转到签到成功页面
 * @param {Object} params - 跳转参数
 * @param {string|number} params.teachId - 培训ID
 * @param {string|number} params.sessionId - 场次ID（可选）
 * @param {string} params.action - 操作类型：'signin'(签到) 或 'signout'(签退)
 * @param {boolean} params.fromSignin - 是否来自签到页面
 * @param {Object} params.fallbackData - 兜底数据（可选）
 * @param {string} params.fallbackData.title - 培训标题
 * @param {string} params.fallbackData.location - 培训地点
 */
export function navigateToSuccessPage(params) {
    const {
        teachId,
        sessionId,
        action = 'signin',
        fromSignin = true,
        fallbackData = {}
    } = params;
    
    console.log('🎯 跳转到Success页面:', {
        teachId,
        sessionId,
        action,
        fromSignin
    });
    
    // 构建URL参数
    let url = '/pages/dtest/success?';
    const urlParams = [];
    
    // 必要参数
    if (teachId) {
        urlParams.push(`teach_id=${teachId}`);
    }
    
    if (sessionId) {
        urlParams.push(`session_id=${sessionId}`);
    }
    
    // 🔧 关键：正确传递操作类型
    urlParams.push(`action=${action}`);
    
    if (fromSignin) {
        urlParams.push(`from_signin=true`);
    }
    
    // 兜底数据（当没有teachId时使用）
    if (fallbackData.title) {
        urlParams.push(`title=${encodeURIComponent(fallbackData.title)}`);
    }
    
    if (fallbackData.location) {
        urlParams.push(`location=${encodeURIComponent(fallbackData.location)}`);
    }
    
    url += urlParams.join('&');
    
    console.log('🔗 Success页面URL:', url);
    
    // 跳转到成功页面
    uni.navigateTo({
        url: url,
        success: () => {
            console.log('✅ 成功跳转到Success页面');
        },
        fail: (error) => {
            console.error('❌ 跳转Success页面失败:', error);
        }
    });
}

/**
 * 签到成功后跳转
 * @param {Object} params - 参数
 * @param {string|number} params.teachId - 培训ID
 * @param {string|number} params.sessionId - 场次ID（可选）
 * @param {Object} params.fallbackData - 兜底数据（可选）
 */
export function navigateToSignInSuccess(params) {
    navigateToSuccessPage({
        ...params,
        action: 'signin',
        fromSignin: true
    });
}

/**
 * 签退成功后跳转
 * @param {Object} params - 参数
 * @param {string|number} params.teachId - 培训ID
 * @param {string|number} params.sessionId - 场次ID（可选）
 * @param {Object} params.fallbackData - 兜底数据（可选）
 */
export function navigateToSignOutSuccess(params) {
    navigateToSuccessPage({
        ...params,
        action: 'signout', // 🔧 关键：设置为签退状态
        fromSignin: true
    });
}

/**
 * 使用示例：
 * 
 * // 签到成功
 * import { navigateToSignInSuccess } from '@/utils/successPageUtils.js'
 * 
 * navigateToSignInSuccess({
 *     teachId: 123,
 *     sessionId: 456,
 *     fallbackData: {
 *         title: '企业培训课程',
 *         location: '培训室A'
 *     }
 * });
 * 
 * // 签退成功
 * import { navigateToSignOutSuccess } from '@/utils/successPageUtils.js'
 * 
 * navigateToSignOutSuccess({
 *     teachId: 123,
 *     sessionId: 456
 * });
 */
